<?php
// no direct access
defined( '_JEXEC' ) or die( 'Acces interdit' );

jimport( 'joomla.application.component.model' );

class TournoiModelValiderresultats extends JModel {

	function __construct() {
		parent::__construct();
		$mainframe = JFactory::getApplication();
		
		// recupere les parametres de pagination de la session utilisateur
		$limit = $mainframe->getUserStateFromRequest('global.list.limit', 'limit', 20, 'int');
		$limitstart = JRequest::getVar('limitstart', 0, '', 'int');

		// si limit a chang�, on ajuste la nouvelle limitstart pour notre liste
		$limitstart = ($limit != 0 ? (floor($limitstart/$limit)*$limit) : 0);
		// on m�morise les nouvelles valeurs dans la session utilisateur
		$this->setState('limitstart', $limitstart);
		$this->setState('limit', $limit);
	}
	
	/**
	 * Methode pour construire la requete SQL
	 * @return string de la requete SQL
	 */
	function _buildQuery() {
		$query = null;
		$idTournoi = JRequest::getVar('id');

		$query = "SELECT id, titre, description, lieu, dateDebut, heure, createur, statut FROM #__tournois WHERE id=$idTournoi";				
		if (JDEBUG) echo "<br />DEBUG : query SQL validertournoi=".$query;

		return $query;
	}

	/**
	 * Ma Methode pour recuperer mes donn�es
	 * @return object with data
	 */
	function &getDataContents() {
		$this->_data = null;

		// construction de la requete SQL
		$query = $this->_buildQuery();
		
		if ($query) $this->_data = $this->_getList( $query, $this->getState('limitstart'), $this->getState('limit') );

		return $this->_data;
	}	
	
	/**
	 * Recup nb participants au tournoi
	 * @return object with data
	 */
	function &getParticipants() {
		$this->_participants = null;
		
	
		// construction de la requete SQL
		$idtournoi = JRequest::getVar('id');
		$query = "SELECT idUsers, name FROM #__joueurs JOIN #__users ON #__joueurs.idUsers=#__users.id WHERE idTournois=$idtournoi";;

		if ($query) $this->_participants = $this->_getList( $query, $this->getState('limitstart'), $this->getState('limit'));
		
		return $this->_participants;
	}
	
		
// ------------Code communs aux modeles pour gerer la pagination------------------------
	
	function getTotal() {
		if (empty($this->_total)) {
			$query = $this->_buildQuery();
			// calcul le nombre d'enregistrement
			$this->_total = $this->_getListCount($query);
		}
		return $this->_total;
	}

	function getPagination() {
		// initialise les donn�es de pagination si besoin
		if (empty($this->_pagination)) {
			jimport('joomla.html.pagination');
			$this->_pagination = new JPagination(
				$this->getTotal(), $this->getState('limitstart'), $this->getState('limit')
			);
		}
		return $this->_pagination;
	}	
}
?>
